package ihm;

import java.awt.BorderLayout;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JOptionPane;


import client.CommunicationClient;

/**
 * Classe FenetrePrincipale
 *
 */
public class FenetrePrincipale extends JFrame
{
	private static final long serialVersionUID = 1L;
	CommunicationClient comCl;
	PannListeAmis pannA;
	PannDemande pannD;
	PannBienvenue pannB;
	PannCote pannC;
	FenetrePrincipale fen;
	int rep;
	
	/** Constructeur **/
	 public FenetrePrincipale(CommunicationClient _comCl) 
	 {	 
		 comCl=_comCl;
		 fen=this;
	

		 setTitle("QuickMessage");
			setBounds(50, 50, 700, 500);
			
			setVisible(true);
			setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
			addWindowListener(new WindowAdapter() {
				public void windowClosing(WindowEvent e){
					rep=JOptionPane.showConfirmDialog(fen, "Etes-vous sûr de vouloir quitter QuickMessage ?",
				     "Message de confirmation", JOptionPane.YES_NO_OPTION);
					if(rep==JOptionPane.YES_OPTION){
						//on indique la déconnexion du client
						comCl.getComE().setAction(9);
						fen.dispose();
					}
				}
			});
			this.setLayout(new BorderLayout());
			
			pannA=new PannListeAmis(comCl);//panneau contenant la liste des amis			
			pannB=new PannBienvenue(comCl);//panneau contenant le pseudo, le statut et le message de bienvenue
			pannD=new PannDemande(comCl);//panneau permettant la demande d'amis
			add(pannB,BorderLayout.NORTH);
			add(pannD,BorderLayout.SOUTH);
			add(pannA,BorderLayout.CENTER);
			
			ThreadActualiseAmis th =new ThreadActualiseAmis(this);
			th.start();		
			
			//	Mettre icone
			String fichier = "icon.jpg";		
			BufferedImage im=null;
			try {
				im = ImageIO.read(new File(fichier));
			} catch (IOException e) {e.printStackTrace();}
			setIconImage(im);
	 }		


}//fin Classe FenetrePrincipale